<?php
namespace ImiApp\Module\Member\Model\Base;

use Imi\Model\Model as Model;
use Imi\Model\Annotation\DDL;
use Imi\Model\Annotation\Table;
use Imi\Model\Annotation\Column;
use Imi\Model\Annotation\Entity;

/**
 * 信息广告 基类
 * @Entity
 * @Table(name="fa_adv", id={"id"})
 * @DDL("CREATE TABLE `fa_adv` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `advcate_id` int(10) unsigned DEFAULT NULL COMMENT '分类ID',
  `title` varchar(255) DEFAULT '' COMMENT '信息标题',
  `image` varchar(255) DEFAULT '' COMMENT '信息主图',
  `images` varchar(1500) DEFAULT '' COMMENT '组图',
  `seotitle` varchar(255) DEFAULT '' COMMENT 'SEO标题',
  `keywords` varchar(255) DEFAULT '' COMMENT '关键字',
  `description` varchar(255) DEFAULT '' COMMENT '描述',
  `tags` varchar(255) DEFAULT '' COMMENT 'TAG',
  `weigh` int(10) DEFAULT NULL,
  `views` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '浏览次数',
  `createtime` int(10) DEFAULT NULL COMMENT '创建时间',
  `updatetime` int(10) DEFAULT NULL COMMENT '更新时间',
  `publishtime` int(10) DEFAULT NULL COMMENT '发布时间',
  `deletetime` int(10) DEFAULT NULL COMMENT '删除时间',
  `memo` varchar(100) DEFAULT '' COMMENT '备注',
  `content` longtext NOT NULL COMMENT '内容',
  `show_status` enum('1','2') NOT NULL DEFAULT '1' COMMENT '显示状态:1=隐藏,2=正常',
  `s_time` int(10) unsigned DEFAULT NULL COMMENT '开始显示时间',
  `e_time` int(10) unsigned DEFAULT NULL COMMENT '到期时间',
  `likes` int(10) unsigned DEFAULT '0' COMMENT '点赞数',
  `addr` varchar(255) DEFAULT NULL COMMENT '地址',
  `lat` varchar(20) DEFAULT NULL COMMENT '纬度',
  `lng` varchar(20) DEFAULT NULL COMMENT '经度',
  `top_status` enum('0','1') DEFAULT '0' COMMENT '置顶状态:0=未置顶,1=置顶',
  `status` enum('1','2','3','4') DEFAULT '1' COMMENT '状态:1=审核中,2=已通过,3=已拒绝,4=到期',
  `cooperate_position` varchar(255) DEFAULT NULL COMMENT '合作身份',
  `cooperate_way` varchar(255) DEFAULT NULL COMMENT '合作方式',
  `tel` varchar(15) DEFAULT NULL COMMENT '手机号',
  `wechat` varchar(30) DEFAULT NULL COMMENT '微信号',
  `s` int(10) unsigned DEFAULT '0' COMMENT '广告时长(秒)',
  `uid` int(10) unsigned DEFAULT NULL COMMENT '用户',
  PRIMARY KEY (`id`),
  KEY `status` (`show_status`),
  KEY `channel` (`weigh`,`id`),
  KEY `weigh` (`weigh`,`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='信息广告'")
 * @property int $id 
 * @property int $advcateId 分类ID
 * @property string $title 信息标题
 * @property string $image 信息主图
 * @property string $images 组图
 * @property string $seotitle SEO标题
 * @property string $keywords 关键字
 * @property string $description 描述
 * @property string $tags TAG
 * @property int $weigh 
 * @property int $views 浏览次数
 * @property int $createtime 创建时间
 * @property int $updatetime 更新时间
 * @property int $publishtime 发布时间
 * @property int $deletetime 删除时间
 * @property string $memo 备注
 * @property string $content 内容
 * @property string $showStatus 显示状态:1=隐藏,2=正常
 * @property int $sTime 开始显示时间
 * @property int $eTime 到期时间
 * @property int $likes 点赞数
 * @property string $addr 地址
 * @property string $lat 纬度
 * @property string $lng 经度
 * @property string $topStatus 置顶状态:0=未置顶,1=置顶
 * @property string $status 状态:1=审核中,2=已通过,3=已拒绝,4=到期
 * @property string $cooperatePosition 合作身份
 * @property string $cooperateWay 合作方式
 * @property string $tel 手机号
 * @property string $wechat 微信号
 * @property int $s 广告时长(秒)
 * @property int $uid 用户
 */
abstract class AdvBase extends Model
{
    /**
     * id
     * @Column(name="id", type="int", length=10, accuracy=0, nullable=false, default="", isPrimaryKey=true, primaryKeyIndex=0, isAutoIncrement=true)
     * @var int
     */
    protected $id;

    /**
     * 获取 id
     *
     * @return int
     */ 
    public function getId()
    {
        return $this->id;
    }

    /**
     * 赋值 id
     * @param int $id id
     * @return static
     */ 
    public function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    /**
     * 分类ID
     * advcate_id
     * @Column(name="advcate_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $advcateId;

    /**
     * 获取 advcateId - 分类ID
     *
     * @return int
     */ 
    public function getAdvcateId()
    {
        return $this->advcateId;
    }

    /**
     * 赋值 advcateId - 分类ID
     * @param int $advcateId advcate_id
     * @return static
     */ 
    public function setAdvcateId($advcateId)
    {
        $this->advcateId = $advcateId;
        return $this;
    }

    /**
     * 信息标题
     * title
     * @Column(name="title", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $title;

    /**
     * 获取 title - 信息标题
     *
     * @return string
     */ 
    public function getTitle()
    {
        return $this->title;
    }

    /**
     * 赋值 title - 信息标题
     * @param string $title title
     * @return static
     */ 
    public function setTitle($title)
    {
        $this->title = $title;
        return $this;
    }

    /**
     * 信息主图
     * image
     * @Column(name="image", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $image;

    /**
     * 获取 image - 信息主图
     *
     * @return string
     */ 
    public function getImage()
    {
        return $this->image;
    }

    /**
     * 赋值 image - 信息主图
     * @param string $image image
     * @return static
     */ 
    public function setImage($image)
    {
        $this->image = $image;
        return $this;
    }

    /**
     * 组图
     * images
     * @Column(name="images", type="varchar", length=1500, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $images;

    /**
     * 获取 images - 组图
     *
     * @return string
     */ 
    public function getImages()
    {
        return $this->images;
    }

    /**
     * 赋值 images - 组图
     * @param string $images images
     * @return static
     */ 
    public function setImages($images)
    {
        $this->images = $images;
        return $this;
    }

    /**
     * SEO标题
     * seotitle
     * @Column(name="seotitle", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $seotitle;

    /**
     * 获取 seotitle - SEO标题
     *
     * @return string
     */ 
    public function getSeotitle()
    {
        return $this->seotitle;
    }

    /**
     * 赋值 seotitle - SEO标题
     * @param string $seotitle seotitle
     * @return static
     */ 
    public function setSeotitle($seotitle)
    {
        $this->seotitle = $seotitle;
        return $this;
    }

    /**
     * 关键字
     * keywords
     * @Column(name="keywords", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $keywords;

    /**
     * 获取 keywords - 关键字
     *
     * @return string
     */ 
    public function getKeywords()
    {
        return $this->keywords;
    }

    /**
     * 赋值 keywords - 关键字
     * @param string $keywords keywords
     * @return static
     */ 
    public function setKeywords($keywords)
    {
        $this->keywords = $keywords;
        return $this;
    }

    /**
     * 描述
     * description
     * @Column(name="description", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $description;

    /**
     * 获取 description - 描述
     *
     * @return string
     */ 
    public function getDescription()
    {
        return $this->description;
    }

    /**
     * 赋值 description - 描述
     * @param string $description description
     * @return static
     */ 
    public function setDescription($description)
    {
        $this->description = $description;
        return $this;
    }

    /**
     * TAG
     * tags
     * @Column(name="tags", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $tags;

    /**
     * 获取 tags - TAG
     *
     * @return string
     */ 
    public function getTags()
    {
        return $this->tags;
    }

    /**
     * 赋值 tags - TAG
     * @param string $tags tags
     * @return static
     */ 
    public function setTags($tags)
    {
        $this->tags = $tags;
        return $this;
    }

    /**
     * weigh
     * @Column(name="weigh", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $weigh;

    /**
     * 获取 weigh
     *
     * @return int
     */ 
    public function getWeigh()
    {
        return $this->weigh;
    }

    /**
     * 赋值 weigh
     * @param int $weigh weigh
     * @return static
     */ 
    public function setWeigh($weigh)
    {
        $this->weigh = $weigh;
        return $this;
    }

    /**
     * 浏览次数
     * views
     * @Column(name="views", type="int", length=10, accuracy=0, nullable=false, default="0", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $views;

    /**
     * 获取 views - 浏览次数
     *
     * @return int
     */ 
    public function getViews()
    {
        return $this->views;
    }

    /**
     * 赋值 views - 浏览次数
     * @param int $views views
     * @return static
     */ 
    public function setViews($views)
    {
        $this->views = $views;
        return $this;
    }

    /**
     * 创建时间
     * createtime
     * @Column(name="createtime", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $createtime;

    /**
     * 获取 createtime - 创建时间
     *
     * @return int
     */ 
    public function getCreatetime()
    {
        return $this->createtime;
    }

    /**
     * 赋值 createtime - 创建时间
     * @param int $createtime createtime
     * @return static
     */ 
    public function setCreatetime($createtime)
    {
        $this->createtime = $createtime;
        return $this;
    }

    /**
     * 更新时间
     * updatetime
     * @Column(name="updatetime", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $updatetime;

    /**
     * 获取 updatetime - 更新时间
     *
     * @return int
     */ 
    public function getUpdatetime()
    {
        return $this->updatetime;
    }

    /**
     * 赋值 updatetime - 更新时间
     * @param int $updatetime updatetime
     * @return static
     */ 
    public function setUpdatetime($updatetime)
    {
        $this->updatetime = $updatetime;
        return $this;
    }

    /**
     * 发布时间
     * publishtime
     * @Column(name="publishtime", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $publishtime;

    /**
     * 获取 publishtime - 发布时间
     *
     * @return int
     */ 
    public function getPublishtime()
    {
        return $this->publishtime;
    }

    /**
     * 赋值 publishtime - 发布时间
     * @param int $publishtime publishtime
     * @return static
     */ 
    public function setPublishtime($publishtime)
    {
        $this->publishtime = $publishtime;
        return $this;
    }

    /**
     * 删除时间
     * deletetime
     * @Column(name="deletetime", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $deletetime;

    /**
     * 获取 deletetime - 删除时间
     *
     * @return int
     */ 
    public function getDeletetime()
    {
        return $this->deletetime;
    }

    /**
     * 赋值 deletetime - 删除时间
     * @param int $deletetime deletetime
     * @return static
     */ 
    public function setDeletetime($deletetime)
    {
        $this->deletetime = $deletetime;
        return $this;
    }

    /**
     * 备注
     * memo
     * @Column(name="memo", type="varchar", length=100, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $memo;

    /**
     * 获取 memo - 备注
     *
     * @return string
     */ 
    public function getMemo()
    {
        return $this->memo;
    }

    /**
     * 赋值 memo - 备注
     * @param string $memo memo
     * @return static
     */ 
    public function setMemo($memo)
    {
        $this->memo = $memo;
        return $this;
    }

    /**
     * 内容
     * content
     * @Column(name="content", type="longtext", length=0, accuracy=0, nullable=false, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $content;

    /**
     * 获取 content - 内容
     *
     * @return string
     */ 
    public function getContent()
    {
        return $this->content;
    }

    /**
     * 赋值 content - 内容
     * @param string $content content
     * @return static
     */ 
    public function setContent($content)
    {
        $this->content = $content;
        return $this;
    }

    /**
     * 显示状态:1=隐藏,2=正常
     * show_status
     * @Column(name="show_status", type="enum", length=0, accuracy=0, nullable=false, default="1", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $showStatus;

    /**
     * 获取 showStatus - 显示状态:1=隐藏,2=正常
     *
     * @return string
     */ 
    public function getShowStatus()
    {
        return $this->showStatus;
    }

    /**
     * 赋值 showStatus - 显示状态:1=隐藏,2=正常
     * @param string $showStatus show_status
     * @return static
     */ 
    public function setShowStatus($showStatus)
    {
        $this->showStatus = $showStatus;
        return $this;
    }

    /**
     * 开始显示时间
     * s_time
     * @Column(name="s_time", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $sTime;

    /**
     * 获取 sTime - 开始显示时间
     *
     * @return int
     */ 
    public function getSTime()
    {
        return $this->sTime;
    }

    /**
     * 赋值 sTime - 开始显示时间
     * @param int $sTime s_time
     * @return static
     */ 
    public function setSTime($sTime)
    {
        $this->sTime = $sTime;
        return $this;
    }

    /**
     * 到期时间
     * e_time
     * @Column(name="e_time", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $eTime;

    /**
     * 获取 eTime - 到期时间
     *
     * @return int
     */ 
    public function getETime()
    {
        return $this->eTime;
    }

    /**
     * 赋值 eTime - 到期时间
     * @param int $eTime e_time
     * @return static
     */ 
    public function setETime($eTime)
    {
        $this->eTime = $eTime;
        return $this;
    }

    /**
     * 点赞数
     * likes
     * @Column(name="likes", type="int", length=10, accuracy=0, nullable=true, default="0", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $likes;

    /**
     * 获取 likes - 点赞数
     *
     * @return int
     */ 
    public function getLikes()
    {
        return $this->likes;
    }

    /**
     * 赋值 likes - 点赞数
     * @param int $likes likes
     * @return static
     */ 
    public function setLikes($likes)
    {
        $this->likes = $likes;
        return $this;
    }

    /**
     * 地址
     * addr
     * @Column(name="addr", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $addr;

    /**
     * 获取 addr - 地址
     *
     * @return string
     */ 
    public function getAddr()
    {
        return $this->addr;
    }

    /**
     * 赋值 addr - 地址
     * @param string $addr addr
     * @return static
     */ 
    public function setAddr($addr)
    {
        $this->addr = $addr;
        return $this;
    }

    /**
     * 纬度
     * lat
     * @Column(name="lat", type="varchar", length=20, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $lat;

    /**
     * 获取 lat - 纬度
     *
     * @return string
     */ 
    public function getLat()
    {
        return $this->lat;
    }

    /**
     * 赋值 lat - 纬度
     * @param string $lat lat
     * @return static
     */ 
    public function setLat($lat)
    {
        $this->lat = $lat;
        return $this;
    }

    /**
     * 经度
     * lng
     * @Column(name="lng", type="varchar", length=20, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $lng;

    /**
     * 获取 lng - 经度
     *
     * @return string
     */ 
    public function getLng()
    {
        return $this->lng;
    }

    /**
     * 赋值 lng - 经度
     * @param string $lng lng
     * @return static
     */ 
    public function setLng($lng)
    {
        $this->lng = $lng;
        return $this;
    }

    /**
     * 置顶状态:0=未置顶,1=置顶
     * top_status
     * @Column(name="top_status", type="enum", length=0, accuracy=0, nullable=true, default="0", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $topStatus;

    /**
     * 获取 topStatus - 置顶状态:0=未置顶,1=置顶
     *
     * @return string
     */ 
    public function getTopStatus()
    {
        return $this->topStatus;
    }

    /**
     * 赋值 topStatus - 置顶状态:0=未置顶,1=置顶
     * @param string $topStatus top_status
     * @return static
     */ 
    public function setTopStatus($topStatus)
    {
        $this->topStatus = $topStatus;
        return $this;
    }

    /**
     * 状态:1=审核中,2=已通过,3=已拒绝,4=到期
     * status
     * @Column(name="status", type="enum", length=0, accuracy=0, nullable=true, default="1", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $status;

    /**
     * 获取 status - 状态:1=审核中,2=已通过,3=已拒绝,4=到期
     *
     * @return string
     */ 
    public function getStatus()
    {
        return $this->status;
    }

    /**
     * 赋值 status - 状态:1=审核中,2=已通过,3=已拒绝,4=到期
     * @param string $status status
     * @return static
     */ 
    public function setStatus($status)
    {
        $this->status = $status;
        return $this;
    }

    /**
     * 合作身份
     * cooperate_position
     * @Column(name="cooperate_position", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $cooperatePosition;

    /**
     * 获取 cooperatePosition - 合作身份
     *
     * @return string
     */ 
    public function getCooperatePosition()
    {
        return $this->cooperatePosition;
    }

    /**
     * 赋值 cooperatePosition - 合作身份
     * @param string $cooperatePosition cooperate_position
     * @return static
     */ 
    public function setCooperatePosition($cooperatePosition)
    {
        $this->cooperatePosition = $cooperatePosition;
        return $this;
    }

    /**
     * 合作方式
     * cooperate_way
     * @Column(name="cooperate_way", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $cooperateWay;

    /**
     * 获取 cooperateWay - 合作方式
     *
     * @return string
     */ 
    public function getCooperateWay()
    {
        return $this->cooperateWay;
    }

    /**
     * 赋值 cooperateWay - 合作方式
     * @param string $cooperateWay cooperate_way
     * @return static
     */ 
    public function setCooperateWay($cooperateWay)
    {
        $this->cooperateWay = $cooperateWay;
        return $this;
    }

    /**
     * 手机号
     * tel
     * @Column(name="tel", type="varchar", length=15, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $tel;

    /**
     * 获取 tel - 手机号
     *
     * @return string
     */ 
    public function getTel()
    {
        return $this->tel;
    }

    /**
     * 赋值 tel - 手机号
     * @param string $tel tel
     * @return static
     */ 
    public function setTel($tel)
    {
        $this->tel = $tel;
        return $this;
    }

    /**
     * 微信号
     * wechat
     * @Column(name="wechat", type="varchar", length=30, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $wechat;

    /**
     * 获取 wechat - 微信号
     *
     * @return string
     */ 
    public function getWechat()
    {
        return $this->wechat;
    }

    /**
     * 赋值 wechat - 微信号
     * @param string $wechat wechat
     * @return static
     */ 
    public function setWechat($wechat)
    {
        $this->wechat = $wechat;
        return $this;
    }

    /**
     * 广告时长(秒)
     * s
     * @Column(name="s", type="int", length=10, accuracy=0, nullable=true, default="0", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $s;

    /**
     * 获取 s - 广告时长(秒)
     *
     * @return int
     */ 
    public function getS()
    {
        return $this->s;
    }

    /**
     * 赋值 s - 广告时长(秒)
     * @param int $s s
     * @return static
     */ 
    public function setS($s)
    {
        $this->s = $s;
        return $this;
    }

    /**
     * 用户
     * uid
     * @Column(name="uid", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $uid;

    /**
     * 获取 uid - 用户
     *
     * @return int
     */ 
    public function getUid()
    {
        return $this->uid;
    }

    /**
     * 赋值 uid - 用户
     * @param int $uid uid
     * @return static
     */ 
    public function setUid($uid)
    {
        $this->uid = $uid;
        return $this;
    }

}
